Skip to main content

Cloudflare Workers

这是篇零门槛的教程,专注于操作而不关心原理,这让它显得有些长,有可能会吓退不少人。不过不必担心,实际上的操作量并不大。

先决条件

  • 有 Cloudflare 账号
  • 博客系统已实现连续集成(CI)

部署过程

info

本教程将以中文版的 Cloudflare 为例,为了使你见到的界面与本教程一致,你需要切换语言

切换语言

可选

如果 Cloudflare 的语言已经是中文,跳过这一步

  1. 来到 Cloudflare 并登录。
  2. 在右上角点击 English (US)
  3. 在弹出菜单中,点击简体中文

获取 Account ID

前往 Cloudflare 并完成登录。这以后,你会跳转到 https://dash.cloudflare.com/******************* ,其中星号处就是你的 Account ID,记下备用。

获取 API Token

  1. 前往此处
  2. 点击“创建令牌”来创建一个 API 令牌,Cloudflare 会给出几个模板,选择编辑 Cloudflare Workers,点击“使用模板”.
  3. 在新页面向下滚动,账户资源处选择包括 - (你的账号),区域资源处选择包括 - 所有区域,点击继续以显示摘要,在新页面点击创建令牌
  4. 记下生成的令牌,这是 API Token,记下备用。
警告

API Token 在你离开网页后不会再次显示,如果你在部署过程中弄丢了,就需要再生成一次。

初始化 Workers

可选

如果你之前已经使用过 Workers,跳过这一步

警告

每个账号只能设置一次子域,在设置前请慎重考虑。

  1. 前往Cloudflare 主页,在左侧边栏找到 Workers 并点击。
  2. 在右侧输入你希望你的账号被绑定到的子域。
  3. 点击蓝色按钮 设置
  4. 点击 继续使用 Free 计划

获取 KV ID

  1. 点击左侧边栏中 Workers 旁的小箭头以展开它的子菜单。
  2. 点击子菜单中的 KV
  3. 在右侧找到蓝色的 创建命名空间 按钮并点击。
  4. 随意输入命名空间名称,点击蓝色的 添加 按钮。
  5. 下方的列表会多出一行,鼠标移动到这行对应着 ID 的这一项上,点击按钮复制,如图所示:如图所示
  6. 现在你剪贴板里的是 KV ID,记下备用。

获取 GH Token

  1. 前往此处
  2. 点击 Generate new token
  3. Note 一栏输入 Token 名,你可以自己起一个。
  4. Expiration 一栏中,选择 No expiration
  5. Select scopes 中,点击 workflow,这会把上面 repo 中的复选框一并选中。
  6. 向下滚动,找到绿色的 Generate token 按钮并点击。
  7. 点击复制按钮,如图所示:如图所示
  8. 现在你剪贴板里的是 GH Token,记下备用。
警告

GH Token 在你离开网页后不会再次显示。部署完成之后的初始化过程也需要 GH Token,请不要在部署完成后就将它丢弃。如果你弄丢了,就需要再生成一次。

配置 GitHub

  1. 来到本项目页面,点击 Fork
  2. Fork 后会打开你自己 Fork 后的 Repo,请在这个 Repo 完成后续操作。
  3. 点击 Settings,在左侧边栏找到 Secrets 并点击它的子选项 Actions,你会进入一个标题为 Actions secrets 的页面。
  4. 点击 New repository secret,在 Name 一栏输入 CF_API_TOKENValue 一栏输入之前记下的 API Token,点击 Add Secret
  5. 点击 New repository secret,在 Name 一栏输入 CF_ACCOUNT_IDValue 一栏输入之前记下的 Account ID,点击 Add Secret
  6. 点击 New repository secret,在 Name 一栏输入 KV_IDValue 一栏输入之前记下的 KV ID,点击 Add Secret
  7. 点击 New repository secret,在 Name 一栏输入 GH_TOKENValue 一栏输入之前记下的 GH Token,点击 Add Secret
  8. 在这个页面点击 Actions 并随后点击绿色按钮 I understand my workflows, go ahead and enable them
  9. 你将进入 Actions 界面,在左侧边栏中找到 Deploy 并点击。
  10. 在右侧列表中找到 Run workflow 并点击。
  11. 在弹出菜单中点击绿色按钮 Run workflow
  12. 刷新页面,可以看到有一个名叫 DeployWorkflow 正在运行。等待它运行完毕即可。有时它的状态不会自动刷新,你可以试试手动刷新页面。一般而言,这个 Action 将在 2 分钟以内运行完毕。

配置 Workers Secret

  1. 回到 Cloudflare
  2. 在左侧边栏中找到并点击 Workers,在右侧找到 hexo-sharp 并点击。
  3. 点击 设置
  4. 点击 变量
  5. 环境变量 一栏中,点击 编辑变量
  6. 点击 添加变量
  7. 在左侧栏中输入 JWT_SECRET。注意大小写。
  8. 在右侧栏中随意输入一串字符串,长度建议在 16 位以内
  9. 点击 加密。你不需要记下刚刚随机输入的字符串。
  10. 点击 保存
恭喜

至此,部署完成,花费:0 元。

开始使用

  1. 来到 Cloudflare
  2. 在左侧边栏中找到并点击 Workers,在右侧找到 hexo-sharp 并点击。
  3. 在“路由”一栏中,可以找到一个以 .workers.dev 结尾的域名,这就是你刚完成部署的 Hexo# 了。以后你需要以这个域名打开 Hexo#,当然你也可以为它配置你自己的域名。
  4. 请访问初次使用章节以完成 Hexo# 的初始化配置。